home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / dlatzm.z / dlatzm
Text File  |  1996-03-14  |  3KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDLLLLAAAATTTTZZZZMMMM((((3333FFFF))))                                                          DDDDLLLLAAAATTTTZZZZMMMM((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DLATZM - applie a Householder matrix generated by DTZRQF to a matrix
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      SUBROUTINE DLATZM( SIDE, M, N, V, INCV, TAU, C1, C2, LDC, WORK )
  13.  
  14.          CHARACTER      SIDE
  15.  
  16.          INTEGER        INCV, LDC, M, N
  17.  
  18.          DOUBLE         PRECISION TAU
  19.  
  20.          DOUBLE         PRECISION C1( LDC, * ), C2( LDC, * ), V( * ), WORK( *
  21.                         )
  22.  
  23. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  24.      DLATZM applies a Householder matrix generated by DTZRQF to a matrix.
  25.  
  26.      Let P = I - tau*u*u',   u = ( 1 ),
  27.                                  ( v )
  28.      where v is an (m-1) vector if SIDE = 'L', or a (n-1) vector if SIDE =
  29.      'R'.
  30.  
  31.      If SIDE equals 'L', let
  32.             C = [ C1 ] 1
  33.                 [ C2 ] m-1
  34.                   n
  35.      Then C is overwritten by P*C.
  36.  
  37.      If SIDE equals 'R', let
  38.             C = [ C1, C2 ] m
  39.                    1  n-1
  40.      Then C is overwritten by C*P.
  41.  
  42.  
  43. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  44.      SIDE    (input) CHARACTER*1
  45.              = 'L': form P * C
  46.              = 'R': form C * P
  47.  
  48.      M       (input) INTEGER
  49.              The number of rows of the matrix C.
  50.  
  51.      N       (input) INTEGER
  52.              The number of columns of the matrix C.
  53.  
  54.      V       (input) DOUBLE PRECISION array, dimension
  55.              (1 + (M-1)*abs(INCV)) if SIDE = 'L' (1 + (N-1)*abs(INCV)) if SIDE
  56.              = 'R' The vector v in the representation of P. V is not used if
  57.              TAU = 0.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDLLLLAAAATTTTZZZZMMMM((((3333FFFF))))                                                          DDDDLLLLAAAATTTTZZZZMMMM((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      INCV    (input) INTEGER
  75.              The increment between elements of v. INCV <> 0
  76.  
  77.      TAU     (input) DOUBLE PRECISION
  78.              The value tau in the representation of P.
  79.  
  80.      C1      (input/output) DOUBLE PRECISION array, dimension
  81.              (LDC,N) if SIDE = 'L' (M,1)   if SIDE = 'R' On entry, the n-
  82.              vector C1 if SIDE = 'L', or the m-vector C1 if SIDE = 'R'.
  83.  
  84.              On exit, the first row of P*C if SIDE = 'L', or the first column
  85.              of C*P if SIDE = 'R'.
  86.  
  87.      C2      (input/output) DOUBLE PRECISION array, dimension
  88.              (LDC, N)   if SIDE = 'L' (LDC, N-1) if SIDE = 'R' On entry, the
  89.              (m - 1) x n matrix C2 if SIDE = 'L', or the m x (n - 1) matrix C2
  90.              if SIDE = 'R'.
  91.  
  92.              On exit, rows 2:m of P*C if SIDE = 'L', or columns 2:m of C*P if
  93.              SIDE = 'R'.
  94.  
  95.      LDC     (input) INTEGER
  96.              The leading dimension of the arrays C1 and C2. LDC >= (1,M).
  97.  
  98.      WORK    (workspace) DOUBLE PRECISION array, dimension
  99.              (N) if SIDE = 'L' (M) if SIDE = 'R'
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.